﻿/*
 * @Autor: PK
 * @Date: 2022/01/06 09:47:SS
 */

using System;
using System.Collections.Generic;
using O2DESNet;
using ShkSimulation.core.template.customer;

namespace ShkSimulation.core.template.agency {

	public class CustomerBuffer: InternalAgency {

		public sealed override InternalAgencyServeTime ServeTime { get; set; }

		public event Action<Customer> OnCustomerLeaveBuffer;
		
		public Dictionary<int, Agency> UpstreamAgencies { get; set; }
		
		public Dictionary<int, Agency> DownstreamAgencies { get; set; }
		
		private Dictionary<string, ReadOnlyHourCounter> reportData;

		public CustomerBuffer() {
			UpstreamAgencies = new Dictionary<int, Agency>();
			DownstreamAgencies = new Dictionary<int, Agency>();
			reportData = new Dictionary<string, ReadOnlyHourCounter>();
		}

		public override InternalServeResult BeforeParentArrive(Customer customer) {
			throw new NotImplementedException();
		}

		public override InternalServeResult BeforeParentServe(Customer customer) {
			throw new NotImplementedException();
		}

		public override InternalServeResult BeforeParentDepart(Customer customer) {
			throw new NotImplementedException();
		}

	}

}